The present disclosure relates to the field of business rules management systems. In particular, the present disclosure relates to refining hierarchies in object-oriented models of business rules management systems.
Business Rules Management Systems (BRMS) are used in a Business Object Models (BOM) to define the underlying structure of business object rules that are being executed. The BOM may contain verbalization information that is used by a rule editor system to allow for natural language business rules to be constructed.
By verbalizing BOM members in this way and allowing users to define their own verbalizations, BOM members can be referred to by multiple identifiers, or verbalizations. For example, an import/export company may deal with both “importers” and “exporters”, which have many attributes and operations in common. One way of representing this relationship would be to have several verbalizations associated with a single “customer” BOM entry, as both importers and exporters are “customers” of the company. Doing so allows business users to write rules in natural language and use whichever verbalization makes sense in the given context.
Although in many situations this mapping of multiple verbalizations to a single BOM member is acceptable, there are occasions when the many-to-one verbalization to BOM member relationship can cause issues. For example, a method or attribute may be added that is only applicable to an “importer,” but as a result of the verbalization, it would be possible to construct a nonsensical rule, such as: “If the date of the last import of the exporter is earlier than . . . ”
Although technically correct, it is semantically incorrect as an exporter would not have a history of imports. To most business users, no problem would be perceived, even though they would be able to write rules that made little sense and would produce invalid results allowing the problem to go undetected for long periods.